home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Skunkware 5
/
Skunkware 5.iso
/
src
/
X11
/
xarchie-2.0.9
/
Imakefile
< prev
next >
Wrap
Makefile
|
1995-06-28
|
8KB
|
234 lines
CTRBDESTDIR=/usr/skunk
/**/#
/**/# Imakefile for xarchie : X11 Browser interface to Archie
/**/#
/**/# George Ferguson, ferguson@cs.rochester.edu, 12 Sep 1991.
/**/# Version 2.0: 23 Apr 1993.
/**/#
/**/# Unless otherwise indicated, you have to delete both `/**/' and the
/**/# leading `#' sign to uncomment something. To comment something out,
/**/# you need to add both the `/**/' (for cpp via imake) and `#' (for
/**/# make). Just for completeness, if you're reading this in a Makefile,
/**/# there will be some empty `' things above -- see the Imakefile.
/**/#
#include "config.h"
/**/# Where do you want this stuff? Uncomment and adjust these to change the
/**/# destinations of "make install" and "make install.man" if the defaults
/**/# are not satisfactory.
/**/#BINDIR = bin
/**/#MANDIR = man/man1
/**/# Use this for R5
/**/#MANSUFFIX = 1
/**/# Use this for R4 (leave one # sign since these are cpp commands for imake)
/**/##undef ManSuffix
/**/##define ManSuffix 1
BINDIR = $(CTRBDESTDIR)/bin
LIBDIR = $(CTRBDESTDIR)/lib
MANDIR = $(CTRBDESTDIR)/man/man.1
MANSUFFIX = 1
XAPPLOADDIR = $(LIBDIR)/xarchie-2.0.9
MKDIRHIER = /bin/sh /usr/bin/X11/mkdirhier
/**/# Where is the app-defaults to C converter?
/**/# Only needed if you change the app-defaults file Xarchie.ad and want the
/**/# changes compiled into the program. If you don't have ad2c you should
/**/# remove the extra clean target for Xarchie.ad.h below. If you lose
/**/# Xarchie.ad.h and can't remake it, create it to be an empty file. Of
/**/# course then you'll have to be able to find the resource file at run time.
/**/# If your ad2c came from this xarchie distribution, then use the following
/**/# target, otherwise change it to reflect where you put ad2c.
AD2C = Ad2c/ad2c.script
/**/# How excited are you about debugging? This can be -g, -O, or nothing.
/**/#CDEBUGFLAGS = -g
/**/# If the help strings make your executable too large, disable the
/**/# online help by commenting out the following lines.
HELP = -DHELP
HELPC = help.c
HELPO = help.o
/**/# To enable Prospero tracing (controlled by the -debug option),
/**/# uncomment this.
/**/#PDEBUG = -DDEBUG
/**/# Does your system have re_comp() and re_exec(), or regcmp() and regex()
/**/# [in the case of A/UX]? If not, adjust the following definitions.
#if !defined(HAVE_RE_COMP) || !defined(HAVE_REGCMP)
REGEXC = regex.c
REGEXO = regex.o
#endif
/**/# If you don't have <sys/param.h> to define MAXPATHLEN, then adjust
/**/# the following definition.
#ifndef HAVE_SYS_PARAM_H
MAXPATHLEN = -DMAXPATHLEN=256
#endif
/**/# If you don't have strcasecmp() and strncasecmp(), adjust the
/**/# following definitions:
#ifndef HAVE_STRCASECMP
STRCASECMP = -DSTRCASECMP
STRCASECMPC = strcasecmp.c
STRCASECMPO = strcasecmp.o
#endif
/**/# If your system does not use DNS hostname lookup by default, you
/**/# need to uncomment the following definition. This will be apparent
/**/# if the program builds but gives the error: "Can't resolve hostname".
/**/# You can test this by building and running resolv.c.
#ifdef NEED_LRESOLV
RESOLV_LIB = -lresolv
#endif
/**/# You can enable the use of a FileChooser widget for dialogs that
/**/# require a filename (Save, Load, Write, etc). If your system has
/**/# trouble with the subclassing of widgets for the FileChooser
/**/# class or with the device-independent directory routines in FWF/Dir,
/**/# you should remove the #define of UseFileChooser.
/**/# NOTE: If you are reading this in the Makefile and nothing follows,
/**/# then use of the FileChooser widget was disabled in the Imakefile.
#define UseFileChooser
#ifdef UseFileChooser
FCHOOSER_DEF = -DFILECHOOSER
FCHOOSER_DIR = FWF/FileChooser
FCHOOSER_INC = -I$(FCHOOSER_DIR)
FCHOOSER_LIB = -L$(FCHOOSER_DIR) -lFChooser
FCHOOSER_DEP = $(FCHOOSER_DIR)/libFChooser.a
DIR_DIR = FWF/Dir
DIR_INC = -I$(DIR_DIR)
DIR_LIB = -L$(DIR_DIR) -lDir
DIR_DEP = $(DIR_DIR)/libDir.a
FCHOOSER_DIRS = $(FCHOOSER_DIR) $(DIR_DIR)
FCHOOSER_INCS = $(FCHOOSER_INC) $(DIR_INC)
FCHOOSER_LIBS = $(FCHOOSER_LIB) $(DIR_LIB)
FCHOOSER_DEPS = $(FCHOOSER_DEP) $(DIR_DEP)
#endif
/**/# You want to use the MultiList widget if possible. If you have problems
/**/# with the subclassing in your version of X, you can use the regular
/**/# Athena List widget by removing the #define of UseMultiList. Of course
/**/# then you will not be able to make multiple selections.
/**/# NOTE: If you are reading this in the Makefile and nothing follows,
/**/# then use of the MultiList widget was disabled in the Imakefile.
#define UseMultiList
#ifdef UseMultiList
MULTILIST_DEF = -DMULTILIST
MULTILIST_DIR = FWF/MultiList
MULTILIST_INC = -I$(MULTILIST_DIR)
MULTILIST_LIB = -L$(MULTILIST_DIR) -lMultiList
MULTILIST_DEP = $(MULTILIST_DIR)/libMultiList.a
#endif
/**/#########################################################################
/**/# Nothing to change below here...
PSRCS = atalloc.c dirsend.c get_pauth.c get_vdir.c perrmesg.c ptalloc.c \
$(REGEXC) stcopy.c support.c vl_comp.c vlalloc.c
CSRCS = query.c browser.c db.c selection.c status.c saveload.c \
inet_ntoa.c hostname.c username.c \
weight.c ftp.c syserr.c $(STRCASECMPC)
XSRCS = xarchie.c display-x.c actions.c ftp-actions.c types.c \
settings.c file-panel.c view-file.c about.c $(HELPC) \
menu.c m-file.c m-query.c m-settings.c m-file-panel.c \
fchooser.c popups.c alert.c confirm.c syntax.c xutil.c tilde.c
POBJS = atalloc.o dirsend.o get_pauth.o get_vdir.o perrmesg.o ptalloc.o \
$(REGEXO) stcopy.o support.o vl_comp.o vlalloc.o
COBJS = query.o browser.o db.o selection.o status.o saveload.o \
inet_ntoa.o hostname.o username.o \
weight.o ftp.o syserr.o $(STRCASECMPO)
XOBJS = xarchie.o display-x.o actions.o ftp-actions.o types.o \
settings.o file-panel.o view-file.o about.o $(HELPO) \
menu.o m-file.o m-query.o m-settings.o m-file-panel.o \
fchooser.o popups.o alert.o confirm.o syntax.o xutil.o tilde.o
SRCS = $(PSRCS) $(CSRCS) $(XSRCS)
OBJS = $(POBJS) $(COBJS) $(XOBJS)
DEFINES = -DARCHIE -DXARCHIE -DX11 $(MAXPATHLEN) $(STRCASECMP) \
$(HELP) $(FCHOOSER_DEF) $(MULTILIST_DEF)
INCLUDES = -I. $(FCHOOSER_INCS) $(MULTILIST_INC)
DEPLIBS = $(FCHOOSER_DEPS) $(MULTILIST_DEP) XawClientDepLibs
LOCAL_LIBRARIES=$(FCHOOSER_LIBS) $(MULTILIST_LIB) XawClientLibs $(RESOLV_LIB)
#ifdef UseMultiList
#ifdef UseFileChooser
SUBDIRS = $(FCHOOSER_DIRS) $(MULTILIST_DIR)
#else /* UseMultiList && !UseFileChooser */
SUBDIRS = $(MULTILIST_DIR)
#endif /* UseMultiList && !UseFileChooser */
#else /* !UseMultiList */
#ifdef UseFileChooser
SUBDIRS = $(FCHOOSER_DIRS)
#endif /* !UseMultiList && UseFileChooser */
#endif /* !UseMultiList */
#if defined(UseMultiList) || defined(UseFileChooser)
#define IHaveSubdirs
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'CC=$(CC)'
#endif
ComplexProgramTarget(xarchie)
InstallAppDefaults(Xarchie)
SpecialObjectRule($(POBJS),,$(PDEBUG))
#ifdef UseMultiList
$(MULTILIST_DEP):
(cd $(MULTILIST_DIR); $(MAKE) PassCDebugFlags)
#endif
#ifdef UseFileChooser
$(FCHOOSER_DEP):
(cd $(FCHOOSER_DIR); $(MAKE) PassCDebugFlags)
$(DIR_DEP):
(cd $(DIR_DIR); $(MAKE) PassCDebugFlags)
#endif
includes:: Xarchie.ad.h help-text1.h help-text2.h
/**/#
/**/# Make C code for fallback resources from application resource file
/**/#
Xarchie.ad.h: Xarchie.ad
sh $(AD2C) Xarchie.ad >Xarchie.ad.h
/**/#
/**/# Make Help text from manpage
/**/#
help-text1.h: xarchie.man
sh ./help-text1.sh >help-text1.h
help-text2.h: help-text1.h
sh ./help-text2.sh <help-text1.h >help-text2.h
/**/#
/**/# What to do when there's nothing to do...
/**/#
World:
make Makefile
make Makefiles
make includes
make depend
make clean
make
/**/#
/**/# For debugging with Saber
/**/#
saberload:
# setopt ansi
# source xsaber.suppress
# load -DNeedFunctionPrototypes $(ALLDEFINES) $(HELP) $(SRCS)
# cd FWF/MultiList
# make saber
# cd ../Dir
# make saber
# cd ../FileChooser
# make saber
# cd ../..
# load XawClientLibs